[IA64] EFI_RESET_SYSTEM now reboots domU.
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Tue, 21 Mar 2006 16:13:07 +0000 (09:13 -0700)
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>
Tue, 21 Mar 2006 16:13:07 +0000 (09:13 -0700)
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
xen/arch/ia64/xen/dom_fw.c
xen/arch/ia64/xen/hypercall.c

index a129a2701571c5b9b96b4cfe5988be170c9e0dff..e383473477fd170b3d9d1449dda434653b345a0c 100644 (file)
@@ -18,6 +18,7 @@
 #include <xen/acpi.h>
 
 #include <asm/dom_fw.h>
+#include <public/sched.h>
 
 static struct ia64_boot_param *dom_fw_init(struct domain *, char *,int,char *,int);
 extern unsigned long domain_mpa_to_imva(struct domain *,unsigned long mpaddr);
@@ -324,7 +325,8 @@ xen_pal_emulator(unsigned long index, u64 in1, u64 in2, u64 in3)
                            (*efi.reset_system)(EFI_RESET_SHUTDOWN,0,0,NULL);
                    }
                    else
-                           domain_shutdown (current->domain, 0);
+                           domain_shutdown (current->domain,
+                                            SHUTDOWN_poweroff);
                    break;
            default:
                printk("xen_pal_emulator: UNIMPLEMENTED PAL CALL %lu!!!!\n",
index 7ca22cb605f63e00715e3a31bdb1d075ef9966ac..f4d9d4e17ea188cd6c871f6eb6932417f4d38c86 100644 (file)
@@ -196,7 +196,8 @@ fw_hypercall (struct pt_regs *regs)
                        printf("(by dom0)\n ");
                        (*efi.reset_system)(EFI_RESET_WARM,0,0,NULL);
                }
-               printf("(not supported for non-0 domain)\n");
+               else
+                       domain_shutdown (current->domain, SHUTDOWN_reboot);
                regs->r8 = EFI_UNSUPPORTED;
                break;
            case FW_HYPERCALL_EFI_GET_TIME: